-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implemented smooth scrolling. #3616
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PoetaKodu very cool 👍 will try get a review done this week/early next week. The main thing I want to check out is how the settings work, trackpad vs wheel and how close the experience is to monaco.
Tested and trackpad scrolling isn't affected by the new option 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking into this now, my first impressions are:
- The scroll speed is too slow, looks like monaco has a smooth scroll duration of 125ms and it feels a lot more responsive because of that
smoothScrollingStepInterval
seems like we don't need it and it should instead be replaced byrequestAnimationFrame
- A duration would be preferable to
smoothScrollingSpeed
, so the pointer device tells the terminal how much to scroll and smooth scroll animates that over x milliseconds. If the animation happens based on a number of lines each frame then scrolling a large amount of lines seems like it would be a bad experience?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah the above is my main feedback, it would be better to move to duration-based scrolling and we should use requestAnimationFrame
instead of setTimeout
/setInterval
. Interested in your thoughts, thanks!
Implemented the needed changes in #3940 |
Hello everyone.
I implemented smooth scrolling. I was annoyed that every time I scroll terminal in VS Code I lose track (see #1140 and microsoft/vscode#125950).
The option is disabled by default but can be enabled using terminal options.
Preview:
https://youtu.be/BCYdZwydmLw